var e = require;
var t = module;
var o = exports;
Object.defineProperty(o, "__esModule", {value: !0});
var n = (function () {
    function e() {}
    return (
        (e.getChild = function (e, t) {
            for (var o = t.split("/"), n = e, a = 0; a < o.length; a++) {
                if (!n) return null;
                n = n.getChildByName(o[a]);
            }
            return n;
        }),
        (e.moveNode = function (e, t, o) {
            if ((void 0 === o && (o = !1), !e || !t)) return null;
            var n = e.parent;
            if (cc.isValid(n)) {
                if (o)
                    for (var a = n.children, i = !0, r = 0; r < a.length; r++) {
                        var s = a[r];
                        ((i && s.zIndex > e.zIndex) || !i) && (s.zIndex += e.zIndex + 1), s == e && (i = !1);
                    }
                var l = e.getPosition(),
                    c = n.convertToWorldSpaceAR(l),
                    d = t.convertToNodeSpaceAR(c);
                e.removeFromParent(!1), (e.parent = t), (e.position = d);
            }
            return n;
        }),
        (e.nodeConvertToNodeSpaceAR = function (e, t, o) {
            void 0 === o && (o = cc.Vec2.ZERO);
            var n = e.convertToWorldSpaceAR(o);
            return t.convertToNodeSpaceAR(n);
        }),
        (e.c3bToHex = function (e, t, o) {
            return new cc.Color(), "number" == typeof e ? new cc.Color(e, t, o).toHEX("#rrggbb") : e.toHEX("rrggbb");
        }),
        (e.getStorageItem = function () {
            var e = arguments[0],
                t = arguments[1],
                o = cc.sys.localStorage.getItem(e);
            return null == o && null != t && (o = t), o;
        }),
        (e.setStorageItem = function () {
            var e = arguments[0],
                t = arguments[1];
            return cc.sys.localStorage.setItem(e, t), t;
        }),
        (e.getAngle = function (e, t) {
            var o = this.GetRadian(e, t);
            return (180 / Math.PI) * o;
        }),
        (e.GetRadian = function (e, t) {
            var o = e.x - t.x,
                n = t.y - e.y;
            return Math.atan2(n, o);
        }),
        (e.pLineIntersect = function (e, t, o, n, a) {
            if ((e.x === t.x && e.y === t.y) || (o.x === n.x && o.y === n.y)) return !1;
            var i = t.x - e.x,
                r = t.y - e.y,
                s = n.x - o.x,
                l = n.y - o.y,
                c = e.x - o.x,
                d = e.y - o.y,
                h = l * i - s * r;
            return (
                (a.x = s * d - l * c),
                (a.y = i * d - r * c),
                0 === h ? 0 === a.x || 0 === a.y : ((a.x = a.x / h), (a.y = a.y / h), !0)
            );
        }),
        e
    );
})();
o.default = n;
